IDEAS FOR HYDRABBS.... Document Conventions: /X AmiExpress L/X LamExpress :-) First, some words to the writer(s) of L/X YOUR BBS SOFTWARE SUCKS YOUR CODING SUCKS YOUR SUPPORT SUCKS YOUR APPROACH SUCKS YOUR DOOR LIBRARY SUCKS YOU SUCK AND NO-ONE LIKES L/X THEY ONLY USE IT COS THERE'S NO BETTER ALTERNITIVE And Now THere iS! So GET A FUCKING life DOING SOMETHING ELSE APART FROM LAMING (oops, sorry "CODING") LAMIEXPRESS *** GUI and entire program to be written in C freely distributable source code (posibly to registered users only, but key it... :-) *** All config files should be textfiles, then anything can edit them only store the text files like l/x stores its icons, as with l/x it's easy to make a temp config change, whereas having all the config in one file is a bitch to work on... (and slow to edit/parse...) *** Set modem to auto answer mode (ATS0=xxx) rather than sending ata commands after rings and shit, then you can just search for CONNECT blah blah blah... (modems don't seem to lock up as much when using them like this...) see preview of BBS:Nodes/NodeX/device *** Remember flagged files after carrier disconnect.. :-) maybe user option via "W" command ? *** Allow quick resume, so that if user loses carrier they don't have to sit through all the fucking menus next time they log on.. (obviously there'd have to be a time limit on this option cos if the user called, lost carrier and called back a week later they'd be a bit confused! :-) *** Allow users to post messages to all. (well, this is changed now, as the message system will be COOL, you will be able to write messages to various different people, with the following option Message To Group Members Only (User can select group if more than one group..) Message To Users With access level above or equal to XXX (to stop lamers reading scene type stuff, like boxing!) Message To Set Of Users, (eg, To: Hydra,Cruise,Stab) Message To Everybody (like eall) Message To All (like eall only not forced displayed) user can select wether to display messages to ALL via thier config.. and there's a few more options too... *** perhaps have some option to only read messages from users with certain access levels and flags (have flags for groups) and to have a mail blacklist (sysop editable) *** When running external doors make it so that you have a list of doors to run in a specified order rather than just one door in one place (a bit like having 2 programs run on a syscmd/ExamineFile.info for instance.. *** NetMail facilities. (with users able to transfer mail packets as well as the sysop, so that couriers and co-sysops can do it too :-) *** only allow users who have uploaded a certain amount of files/meg/ratio to have free downloads... stops the leechers! :-) *** when there is an error (say a lock error) a mail message get's written to the sysop with the error details in it (time/date/user/menuaction/details...) so the next time the sysop logs in and reads his mail he will know there is something wrong! *** have a button on the gui that will archive up all the configuration files, .txt files and .ans files, possibly make this backup setting like a cron job... :-) rather like doing an "LHA a -r bbs:bbsbackup bbs: (#?.txt|#?.info)" for L/X :-) *** after sysop chat redraw bbs prompt with command as user typed unlike l/x which adds a return to the end of what the user typed in and runs it as a command. *** also you must have 1 G and no other letters on the command line to logoff... this safeguards accidental logoff.. *** user account info should contain the following 4 fields (as well as other fields) actual uploaded bytes (that have been transferred by modem) upload creds awarded (by sysop, nuker, prizes...) (if you add the two fields together you'd get total uploaded) and the same 2 fields for downloads. the reson for this is so that you can actually see if a user is a good trader or relies on 3x's or requests for thier creds! also very cool for bulletin/stats generators.. *** Hey, now this is a good idea: When you have validated a user, the bbs software could be made to create a key file for the user detailing his account (obviosly encrypted somehow) this could then be given to the user. Then when the user calls another system the sysop can ask the user for some keyfiles, the user can ONLY give the sysop keyfiles if he has been given access on other bbs's. This would be a great way for sysops to easily validate users. using the information structure below it would be pretty much impossible for the user to make thier own keys up, espesially if the sysop checked the keyfiles with the bbs's that the user said they got them from. info to be stored in keyfiles: BBS Name, BBS Phone Number, BBS Serial Number (madeup by the hostsoftware depending on the time and date that the software was installed, a nice 4 byte packed integer should be pretty darn unique.) Sysop Name UsersAccount info (copy of account info structure which would contain the stuff like: name, handle, location, ratio info, bytes uploaded, bytes downloaded, average files up/down per call) names and sizes of last 10 files uploaded/downloaded date and time user was given access Damn, that's a really COOOL idea dont you think ? *** SuperQuickLogins, make some scripts up for term/ncomm/terminus. Some terminal programs allow the user to run specific scripts for each bbs after a conection has been made to the system. You can setup your handle/password for each bbs and get the term program to do a session handshake with the bbs software. So you could make it skip items of the bbs that you don't like, maybe you get sick of millions of screens of ansi everytime you log in.. well this is the answer. *** when the system gets below the MinFreeSpace on the BBSDrive the bbs software (when a user is not logged on, or possibly spawn a command) will move files from one upload path to another *** if the drives become full get the bbsto delete the oldest files in the upload paths with the archived bit set. So if you do regular backups or are not bothered with old files then you can get the system to automatically keep the bbs running all by itself! Kewl! *** select conf for file when uploaded. This is so that traders can have all thier new files in one directory on thier computer and upload all of them, then after they have been uploaded the user can select which conference the files should be in *** store file flag and filepath to each file flagged from multiple conferences so that you can tag files in one conf, go to another, tag files in that, then go to another and then select download it will download all flagged files from all conferences.. *** allow moving of messages from one conf to another. *** allows writing of the same message to several users, great for nicking other sysops users ;-) heheeee (hello Trev!) *** attach as many files to a message as you like and from as many different paths. also have the option not to copy the file, but to download it from where it sits on your hd so as not to take up twice as much disk space. (sysop option) *** at the login prompt have a menu, so that you can leave messages to sysop etc.. so that a user does not have to login to the bbs. great if you run a warez bbs but also have a PD type front-end, or if you run a business as well as a bbs! could have option so that users can apply for accounts.. and have a pwfail type thing too... *** don't allow total wildcards on usernames when logging in (type typing ????* at the loggin prompt next time you log into an L/X bbs to get a full userlist!!) *** let messages have an expiry date set. (Nice!) *** add button for using BT's caller ID, in that you click the button, it goes ATDT1471 and you can listen to the number returned! :-) *** tell user how many files uploaded per conf since last call.. *** create lha checker that uses an anagram of the filename for the bbs adverts so that it's uniqe for each file. this should stop most lha/zip checkers dead in their tracks! *** search hard disks on installed system for "/X" and delete files. :-) oh dear, Im SUCH a kidder! :-) *** keep record of date user last upload as well as last called... in the user data to spot the leechers!! :-) --> done, check out User.LastUploadDate *** when displaying file list make it so the program NEVER displays only a couple of lines of the description. at the bottom or top of the screen *** have a filelist search button from the gui so that you can quickly search for a file without having to login. *** when looking for files with assigns (:)'s in the the filename check first on the system volume/assign list to see if the assign exists, if not then don't try and open the file, if it does then do. :-) This would aleviate the problem us sysops get when we want to take a cd-rom out of the drive without having to edit the u/l & d/l paths for the confs and restarting the bbs to make the changes take effect... *** include converter program to convert L/X tooltypes to HBBS config files.. *** have a DECENT install program.. and define a standard install script for new doors and utils so that door writers can use it.. *** have option so that sysop can disable remote logins for his account, i.e. so no-one call call the bbs and login as the sysop, the sysop can only log in locally with this set.. *** have options LogDoorCommandsInCallersLog=TRUE/FALSE *** have a button on the node window labelled TAGGED, which should pop up a listview window that should display all the files a user has tagged, maybe add some buttons so the sysop can tag/untag extra files! *** built in stats and graphs generator (well, module rather than built in..) *** show time and date in lastcallers listview.. *** modem inactivity reset, let the modem reset itself if no-one calls the bbs for a certain duration or there are a set number of invalid/misconnects.. great if ya got a buggy modem.. *** have somewhat versatile login times, so you can specify what days a user is allowed to logon and between what times and how many calls they are allowed for each day etc etc.. *** background filechecking while the user is batch uploading (i.e. upload file start uploading next file, while that's happening hbbs could check the file in the background.. *** have announce logon/off as standard *** when skipping uploaded files that already exist display time and date they were first uploaded *** include a utility that goes to all your config files and changes the default tooltype to the users fave text editor.. *** multi pattern matching keyword and or filename search on z command.. *** pager: user end: ask for reason, write reason to callerslog (nodelog?) amount of pages allowed before comment.. sysop end: window on frontmost screen that says who's paging and why.. buttons for chat or busy or ignore.. *** minimum password length sysop settable *** have two methods of creating a new account, the first is like lamiex where you type in your handle at the prompt and it goes, "account not found, [r]etry or [c]ontinue as new user" or make it so you have to type in something like "NEW" or "GUEST" or "ACCOUNT" to get an account, this option will be sysop selectable, this is great for keeping the lamers out as you can set it to something weird (like a password) which only kewl users would know.. *** have speech! use the speak: handler and if option enabled in the config say who's loggin in/out and or what's happening with doors etc. when they are leeching, and how much, also might be nice to have option to read mail to the sysop! v.cool! :-) *** sysop definable mail groups (i.e. list of users) *** run all programs in HBBS:Startup just like WBStartup but only after the bbs has initialised and all autostart nodes are ready.. what a handy feature, great if you want to use external doors (or bbs monitoring tools) *** all doors MUST be written in C or asm and not arexx, if you want arexx doors then program an arexx door server external door and an arexx door starter then all your arexx programs are started by the arexx door starter (which gets started the normal way by the node program) you then supply the option paramter for the arex door starter with the path and filename of your arexx door. the arexx door can then address the arexx door server which can supply all arexx doors and other programs with the information you need. With a method like this you can actually cater for ALL non compiled languages (even basic!) by having a door starter and a door server which are written in c or asm and pass the data between the bbs and your other (language unspecific) door! also this has the advantage of letting the user customize the door servers data the way they want it! *** sysop settable default upload and download path for local transfers.. --> a file requester will be used.. *** allow sysop to save positions of ALL windows.. --> currently, only the watch window and control panel are saved *** include a small program to watch the userdata file and give you the taskname of the program that touched it, kind like snoopdos for the userdata file.. great for spotting naughty doors and stuff.. *** have a door/program that works out time between commands entered by the user and gives a rating of bbs efficency/knowledge.. *** have another door that tells the user how well or bad the user is doing (in terms of ul's/dl's/calls/etcc in relation to the all the other users.. i.e. you are the 31st most cool user.. or you are the 20th most shite user *** have option so that when the sysop presses f1 to chat to a user the node can a) turn the chat flag on for that node, b) turn the chat flag on for all the nodes or c) leave it alone.. (this is cos i always forget to turn my chat flag on!) *** also have defineable times for the chat flag to go on, much in the same way that you define when a user it allowed to logon.. *** make it so that the file_id door extracts the file id and saves it to a file in env:hbbs/lastfewuploads.txt along with the uploader and a few other sysop definable options. This file would look like a normal file list but would contain (say) the last 10 uploaded files to the system (from any conf priveate or not..) rather handy for sysops cos then they won't have to local login and do a conf scan.... *** have access levels on screens (use the FB->fib_Comment ??) *** let sysop add extra file to the list of files that the user is downloading *WHILE* they are still downloading (by way of a button called "Add..." on the transfer status window) *** emergency credits, if a user wants to leech some file while they are doing a bi-directional transfer but don't have enough creds before they start the transfer then normally /X would not let them transfer the files. Put an option in HBBS where the user can BORROW credits for a short period of time (i.e. for the call, or the next 3 calls, etc)) if they don't pay back the amount of borrowed creds in that time they can be fined a certain amount of credits! :-) coool.. E.g user has 1,000,000 creds, wants to download 3,000,000 creds worth of files, and is going to upload 1,000,000 bytes worth of files. at a 3:1 ratio if a user uploads 1,000,000 bytes they'd get a total of 3,000,000 credits. So, the user needs to BORROW 2,000,000 creds which would be paid back after the upload... Whata COOOOl idea! *** have a program that runs once a day checking FirstMessage=blah in the MailStats.CFG file of each mail are, and then double check that with the actual first mail message in that dir.. If incorrect thenupdate it, this will save time when mailscanning as hbbs has to Lock() each mail file to check it's existance and there's no point checking for loads of mail that has been deleted ages ago! ***